﻿/*----------------------------------------------------------------
//  <copyright file="HubGroupEventData.cs" company="MicroCloud@151504200868">
//      Copyright © 2020-2024 MicroCloud Corporation, All rights reserved.
//  </copyright>
//  <site>https://gitee.com/chenmm123/microclouds</site>
//  <last-editor>cmm</last-editor>
//  <last-date>2023-05-11 16:10</last-date>
//----------------------------------------------------------------*/

namespace MicroCloud
{
    #region "集线器加入组事件数据"
    /// <summary>
    /// 集线器加入组事件数据
    /// </summary>
    public class HubAddToGroupEventData : HubEventDataBase
    {
        #region "属性"
        #region "获取或设置 连接ID"
        /// <summary>
        /// 获取或设置 连接ID
        /// </summary>
        public string ConnectionId { get; set; }
        #endregion
        #region "获取或设置 组键标识集合"
        /// <summary>
        /// 获取或设置 组键标识集合
        /// </summary>
        public string[] GroupKeys { get; set; }
        #endregion

        #endregion

        #region "构造函数"
        #region "初始化一个集线器加入组事件数据的新实例"
        /// <summary>
        /// 初始化一个集线器加入组事件数据的新实例
        /// </summary>
        /// <param name="clients">调用方客户端对象</param>
        /// <param name="groups">组管理器</param>
        public HubAddToGroupEventData(IHubClients clients, IGroupManager groups)
            : base(clients, groups)
        { }
        #endregion
        #region "初始化一个集线器加入组事件数据的新实例"
        /// <summary>
        /// 初始化一个集线器加入组事件数据的新实例
        /// </summary>
        /// <param name="callerClients">中心调用方客户端对象</param>
        /// <param name="callerContext">中心调用方上下文对象</param>
        /// <param name="groups">组管理器</param>
        public HubAddToGroupEventData(IHubCallerClients callerClients, HubCallerContext callerContext, IGroupManager groups)
            : base(callerClients, callerContext, groups)
        { }
        #endregion

        #endregion

    }
    #endregion
    #region "集线器加入组强类型事件数据"
    /// <summary>
    /// 集线器加入组强类型事件数据
    /// </summary>
    public class HubAddToGroupEventData<T> : HubEventDataBase<T>
        where T : class
    {
        #region "属性"
        #region "获取或设置 连接ID"
        /// <summary>
        /// 获取或设置 连接ID
        /// </summary>
        public string ConnectionId { get; set; }
        #endregion
        #region "获取或设置 组键标识集合"
        /// <summary>
        /// 获取或设置 组键标识集合
        /// </summary>
        public string[] GroupKeys { get; set; }
        #endregion

        #endregion

        #region "构造函数"
        #region "初始化一个集线器加入组强类型事件数据的新实例"
        /// <summary>
        /// 初始化一个集线器加入组强类型事件数据的新实例
        /// </summary>
        /// <param name="clients">调用方客户端对象</param>
        /// <param name="groups">组管理器</param>
        public HubAddToGroupEventData(IHubClients<T> clients, IGroupManager groups)
            : base(clients, groups)
        { }
        #endregion
        #region "初始化一个集线器加入组强类型事件数据的新实例"
        /// <summary>
        /// 初始化一个集线器加入组强类型事件数据的新实例
        /// </summary>
        /// <param name="callerClients">中心调用方客户端对象</param>
        /// <param name="callerContext">中心调用方上下文对象</param>
        /// <param name="groups">组管理器</param>
        public HubAddToGroupEventData(IHubCallerClients<T> callerClients, HubCallerContext callerContext, IGroupManager groups)
            : base(callerClients, callerContext, groups)
        { }
        #endregion

        #endregion

    }
    #endregion
    #region "集线器加入组运行时解析类型事件数据"
    /// <summary>
    /// 集线器加入组运行时解析类型事件数据
    /// </summary>
    public class HubAddToGroupDynamicEventData : DynamicHubEventDataBase
    {
        #region "属性"
        #region "获取或设置 连接ID"
        /// <summary>
        /// 获取或设置 连接ID
        /// </summary>
        public string ConnectionId { get; set; }
        #endregion
        #region "获取或设置 组键标识集合"
        /// <summary>
        /// 获取或设置 组键标识集合
        /// </summary>
        public string[] GroupKeys { get; set; }
        #endregion

        #endregion

        #region "构造函数"
        #region "初始化一个集线器加入组运行时解析类型事件数据的新实例"
        /// <summary>
        /// 初始化一个集线器加入组运行时解析类型事件数据的新实例
        /// </summary>
        /// <param name="clients">调用方客户端对象</param>
        /// <param name="groups">组管理器</param>
        public HubAddToGroupDynamicEventData(DynamicHubClients clients, IGroupManager groups)
            : base(clients, groups)
        { }
        #endregion
        #region "初始化一个集线器加入组运行时解析类型事件数据的新实例"
        /// <summary>
        /// 初始化一个集线器加入组运行时解析类型事件数据的新实例
        /// </summary>
        /// <param name="callerClients">中心调用方客户端对象</param>
        /// <param name="callerContext">中心调用方上下文对象</param>
        /// <param name="groups">组管理器</param>
        public HubAddToGroupDynamicEventData(DynamicHubClients callerClients, HubCallerContext callerContext, IGroupManager groups)
            : base(callerClients, callerContext, groups)
        { }
        #endregion

        #endregion

    }
    #endregion

    #region "集线器离开组事件数据"
    /// <summary>
    /// 集线器离开组事件数据
    /// </summary>
    public class HubRemoveFromGroupEventData : HubEventDataBase
    {
        #region "属性"
        #region "获取或设置 连接ID"
        /// <summary>
        /// 获取或设置 连接ID
        /// </summary>
        public string ConnectionId { get; set; }
        #endregion
        #region "获取或设置 组键标识集合"
        /// <summary>
        /// 获取或设置 组键标识集合
        /// </summary>
        public string[] GroupKeys { get; set; }
        #endregion

        #endregion

        #region "构造函数"
        #region "初始化一个集线器离开组事件数据的新实例"
        /// <summary>
        /// 初始化一个集线器离开组事件数据的新实例
        /// </summary>
        /// <param name="clients">调用方客户端对象</param>
        /// <param name="groups">组管理器</param>
        public HubRemoveFromGroupEventData(IHubClients clients, IGroupManager groups)
            : base(clients, groups)
        { }
        #endregion
        #region "初始化一个集线器离开组事件数据的新实例"
        /// <summary>
        /// 初始化一个集线器离开组事件数据的新实例
        /// </summary>
        /// <param name="callerClients">中心调用方客户端对象</param>
        /// <param name="callerContext">中心调用方上下文对象</param>
        /// <param name="groups">组管理器</param>
        public HubRemoveFromGroupEventData(IHubCallerClients callerClients, HubCallerContext callerContext, IGroupManager groups)
            : base(callerClients, callerContext, groups)
        { }
        #endregion

        #endregion

    }
    #endregion
    #region "集线器离开组强类型事件数据"
    /// <summary>
    /// 集线器离开组强类型事件数据
    /// </summary>
    public class HubRemoveFromGroupEventData<T> : HubEventDataBase<T>
        where T : class
    {
        #region "属性"
        #region "获取或设置 连接ID"
        /// <summary>
        /// 获取或设置 连接ID
        /// </summary>
        public string ConnectionId { get; set; }
        #endregion
        #region "获取或设置 组键标识集合"
        /// <summary>
        /// 获取或设置 组键标识集合
        /// </summary>
        public string[] GroupKeys { get; set; }
        #endregion

        #endregion

        #region "构造函数"
        #region "初始化一个集线器离开组强类型事件数据的新实例"
        /// <summary>
        /// 初始化一个集线器离开组强类型事件数据的新实例
        /// </summary>
        /// <param name="clients">调用方客户端对象</param>
        /// <param name="groups">组管理器</param>
        public HubRemoveFromGroupEventData(IHubClients<T> clients, IGroupManager groups)
            : base(clients, groups)
        { }
        #endregion
        #region "初始化一个集线器离开组强类型事件数据的新实例"
        /// <summary>
        /// 初始化一个集线器离开组强类型事件数据的新实例
        /// </summary>
        /// <param name="callerClients">中心调用方客户端对象</param>
        /// <param name="callerContext">中心调用方上下文对象</param>
        /// <param name="groups">组管理器</param>
        public HubRemoveFromGroupEventData(IHubCallerClients<T> callerClients, HubCallerContext callerContext, IGroupManager groups)
            : base(callerClients, callerContext, groups)
        { }
        #endregion

        #endregion

    }
    #endregion
    #region "集线器离开组运行时解析类型事件数据"
    /// <summary>
    /// 集线器离开组运行时解析类型事件数据
    /// </summary>
    public class HubRemoveFromGroupDynamicEventData : DynamicHubEventDataBase
    {
        #region "属性"
        #region "获取或设置 连接ID"
        /// <summary>
        /// 获取或设置 连接ID
        /// </summary>
        public string ConnectionId { get; set; }
        #endregion
        #region "获取或设置 组键标识集合"
        /// <summary>
        /// 获取或设置 组键标识集合
        /// </summary>
        public string[] GroupKeys { get; set; }
        #endregion

        #endregion

        #region "构造函数"
        #region "初始化一个集线器离开组运行时解析类型事件数据的新实例"
        /// <summary>
        /// 初始化一个集线器离开组运行时解析类型事件数据的新实例
        /// </summary>
        /// <param name="clients">调用方客户端对象</param>
        /// <param name="groups">组管理器</param>
        public HubRemoveFromGroupDynamicEventData(DynamicHubClients clients, IGroupManager groups)
            : base(clients, groups)
        { }
        #endregion
        #region "初始化一个集线器离开组运行时解析类型事件数据的新实例"
        /// <summary>
        /// 初始化一个集线器离开组运行时解析类型事件数据的新实例
        /// </summary>
        /// <param name="callerClients">中心调用方客户端对象</param>
        /// <param name="callerContext">中心调用方上下文对象</param>
        /// <param name="groups">组管理器</param>
        public HubRemoveFromGroupDynamicEventData(DynamicHubClients callerClients, HubCallerContext callerContext, IGroupManager groups)
            : base(callerClients, callerContext, groups)
        { }
        #endregion

        #endregion

    }
    #endregion

}
